#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

//int T, n, x;
//int a[1010];
//
//void quick_sort(int q[], int l, int r)
//{
//    if (l >= r) return;
//    int x = q[l], i = l - 1, j = r + 1;
//    while (i < j)
//    {
//        do i++; while (q[i] < x);
//        do j--; while (q[j] > x);
//        if (i < j)
//        {
//            int t = q[i];
//            q[i] = q[j];
//            q[j] = t;
//        }
//    }
//    quick_sort(q, l, j), quick_sort(q, j + 1, r);
//}
//
//int main()
//{
//    scanf("%d", &T);
//    while (T--)
//    {
//        scanf("%d", &n);
//        for (int i = 0; i < n; i++)
//        {
//            scanf("%d",&x);
//            a[i] = x;
//        }
//
//        quick_sort(a, 0, n - 1);
//
//        int prev = a[0], i = 1, w = 0;
//        while (i < n)
//        {
//            if (prev == a[i])
//            {
//                printf("%d\n", -1);
//                w = 1;
//                break;
//            }
//            prev = a[i], i++;
//        }
//        if (w == 0)
//        {
//            for (int i = 0; i < n; i++) printf("%d ", a[i]);
//            printf("\n");
//        }
//
//    }
//}


//int main()
//{
//    int T;
//    scanf("%d", &T);
//    while (T--)
//    {
//        int n;
//        scanf("%d", &n);
//        int count1 = 0;
//        for (int i = 1; i <= n; i++)
//        {
//            int count2 = 0;
//            for (int j = 1; j <= i/j; j++)
//            {
//                if (i % j == 0) count2++;
//            }
//            if (i != 1) count2++;
//            if (count2 % 2 == 1) count1++;
//        }
//        printf("%d\n", count1);
//    }
//    return 0;
//}


//void quick_sort(int q[], int l, int r)
//{
//	if (l >= r) return;
//	int x = q[l], i = l - 1, j = r + 1;
//	while (i < j)
//	{
//		do i++; while (q[i] < x);
//		do j--; while (q[j] > x);
//		if (i < j)
//		{
//			int t = q[i];
//			q[i] = q[j];
//			q[j] = t;
//		}
//	}
//	quick_sort(q, l, j); quick_sort(q, j + 1, r);
//}

int a[100010], b[100010];
int n, m;

void insert(int l, int r, int c)
{
	b[l] += c;
	b[r + 1] -= c;
}

int main()
{
	scanf("%d%d", &n, &m);
	for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
	for (int i = 1; i <= n; i++) insert(i, i, a[i]);

	while (m--)
	{
		int l, r, c;
		scanf("%d%d%d", &l, &r, &c);
		insert(l, r, c);
	}

	for (int i = 1; i <= n; i++) b[i] += b[i - 1];
	for (int i = 1; i <= n; i++) printf("%d ", b[i]);
	printf("\n");

	return 0;
}